JdbcTemplate从javax.sql.DataSource实现中获取连接-该实现被传递给其构造函数link。 DataSource可以是basic (为每个请求创建Connection对象)或pooling (具有连接池,仅“借用”一个连接池供给定请求使用)。 因此,连接似乎没有关闭,因为您已经将一些池化数据源传递给了名为devbJdbc的JdbcTemplate。如果你真的想关闭每一个打开的连接来做JdbcTemplate工作,你可以使用一个基本的DataSource实现:org.springframework.jdbc.datasource.SimpleDriverDataSource就像这样: 代码语言:javascript复制@Configuration
class DevbConfig {
@Bean(name = "devbDataSource")
DataSource devbDataSource() {
try {
return new SimpleDriverDataSource(DriverManager.getDriver("jdbc:..."), "jdbc:...", "username", "password");
} catch (SQLException e) {
throw new RuntimeException(e);
}
}
@Bean(name = "devbJdbc")
JdbcTemplate devbJdbc(@Qualifier("devbDataSource") DataSource dataSource) {
return new JdbcTemplate(dataSource);
}
}
|